package com.hibikiluler.javalearning.service;

import com.alibaba.fastjson.JSONObject;
import com.hibikiluler.javalearning.entity.Book;
import com.hibikiluler.javalearning.entity.BookType;
import com.hibikiluler.javalearning.util.Queryinfo;
import com.hibikiluler.javalearning.util.Result;
import org.springframework.transaction.annotation.Transactional;

import java.util.List;

/**
 * @createTime 2021年06月14日 19:07:00
 */

public interface BookService {
    /**
     * 删除书籍
     * @param id
     * @return
     */
    Result delete(Long id);

    /**
     * 修改书籍
     * @param book
     * @return
     */
    Result update(Book book);

    /**
     * 添加书籍
     * @param book
     * @return
     */
    Result insert(Book book);

    /**
     * 分页查询书籍信息
     * @param queryInfo
     * @return
     */
    Result findPage(Queryinfo queryInfo);

    /**
     * 修改书籍分类
     * @param bookType
     * @return
     */
    Result updateType(BookType bookType);

    /**
     * 删除书籍分类
     * @param id
     * @return
     */
    Result deleteType(Long id);

    /**
     * 添加书籍分类
     * @param bookType
     * @return
     */
    Result insertType(BookType bookType);

    /**
     * 批量导入
     * @param list
     * @return
     */
    Result batchImport(List<Book> list);

    /**
     * 查询食物
     * @param queryInfo
     * @return
     */
    Result findBookPage(Queryinfo queryInfo);

    /**
     * 查询所有分类信息
     * @return
     */
    Result typeAll();

    Result findBookByTypeId(Queryinfo queryInfo);

    Result findMiniPage(JSONObject object);

    /**
     * 根据ID获取书籍信息
     * @param id
     * @return
     */
    Result findById(Long id);
}

